package com.erbao.classloader;

/**
 * @author CaoBaoYin
 * @since 2022/3/26 13:02
 */
public class LazyLoading {

    public static void main(String[] args) {
        /*不执行静态代码块，不执行构造方法*/
        System.out.println(P.p);
        /*执行了静态代码块，不执行构造方法*/
        // System.out.println(P.count);
        /*肯定会加载类，先执行父类静态代码块，再执行当前类静态代码块，再执行父类构造方法，再执行当前类构造方法*/
        System.out.println(new P());
    }

    public static class P {
        public static final String p = "fang";
        public static int count = 2;

        static {
            System.out.println("P static");
        }

        public P() {
            System.out.println("p constructor");
        }
    }

}
